---
id: 656639771fed09b5c0e8fe71
title: Step 6
challengeType: 20
dashedName: step-6
---

# --description--

Now that you've divided the `array` list into two separate lists, you'll keep dividing each list until every element stands alone in its own list. A list with a single number is always sorted.

To do that, recursively call `merge_sort` inside your function.

# --hints--

You should call `merge_sort` at the bottom of your function body.

```js
({
  test: () => {
    const transformedCode = code.replace(/\r/g, "");
    const merge_sort = __helpers.python.getDef("\n" + transformedCode, "merge_sort");
    const { function_body } = merge_sort;

    assert.match(function_body, /merge_sort\s*\(\s*\)/);
  }
})
```

# --seed--

## --seed-contents--

```py
def merge_sort(array):
--fcc-editable-region--
    middle_point = len(array) // 2
    left_part = array[:middle_point]
    right_part = array[middle_point:]

--fcc-editable-region--
```
